10 research outputs found

    An analysis and Simulation Tool of Real-Time Communications in On-Chip Networks: A Comparative Study

    Get PDF
    International audienceThis paper presents Real-Time Network-on-chip-based architecture Analysis and Simulation tool (ReTiNAS), with a special focus on real-time communications. It allows fast and precise exploration of real-time design choices onto NoC architectures. ReTiNAS is an event-based simulator written in Python. It implements different real-time communication protocols and tracks the communications within the NoC at cycle level. Its modularity allows activating and deactivating different NoC components and easily extending the implemented protocols for more customized simulations and analysis. Further, we use ReTiNAS to perform a comparative study of analysis and simulation for different communication protocols using a wide set of synthetic experiments

    Placement des tâches temps-réel dur sur des architectures multi-coeurs en réseau sur puce

    No full text
    La complexité croissante des systèmes cyber-physiques (CPS) modernes nécessite l'utilisation de systèmes informatiques embarqués très performants pour satisfaire leurs contraintes temporelles. En règle générale, le système surveille un environnement physique à l'aide de capteurs, traite et réagit à l'état de l'environnement. Ce schéma acquisition-calcul-réaction doit être réalisé dans une fenêtre temporelle prédéfinie imposée par la vitesse d'évolution de l'environnement. De telles contraintes sont appelées contraintes en temps réel. La justesse de la conception du système repose sur sa capacité à fournir des garanties sur les contraintes temporelles. Une violation des contraintes de temps peut être une source sérieuse de ses dommages.La conception classique des plates-formes multicoeurs a des paramètres limités en termes de nombre de ressources informatiques, ce qui les rend obsolètes pour les applications CPS actuelles et futures. Cette limitation est simple pour les architectures d'interconnexion basés sur un seul bus partagé, à accès exclusif. Les réseaux sur puce NoC (Network-on-Chip en anglais) ont été proposés pour résoudre le problème des goulots d'étranglement du bus et pour fournir une architecture plus évolutive. Les NoC peuvent héberger des centaines de coeurs sur une seule puce connectée via un réseau. Les données sont déplacées d'un coeur à un autre, ou vers la mémoire principale, au moyen d'interfaces réseau représentées en grande partie par de simples routeurs. Cependant, ces fonctionnalités améliorées augmentent la complexité, car nous devons faire face au routage, aux protocoles de commutation, à la gestion de la congestion et au problème de réseau classique même lors de l'accès aux données dans la mémoire principale.La prise en charge des contraintes temps réel sur les architectures basées sur NoC nécessite une attention particulière. Le système doit être prévisible, c'est-à-dire qu'il doit être capable d'estimer des limites strictes et sûres pour les communications inter-tâches ainsi que de calculer le temps de réponse des tâches.L'objectif de la thèse est de fournir un support pour les applications temps réel dur sur les réseaux sur puce. Nous considérons les contraintes en temps réel et définissons les paramètres et configurations NoC. Nous avons proposé un placement des tâches et des communications afin que tous les délais soient respectés. Dans cette thèse, nous traitons des systèmes temps réel dur : les dépassements de délais ne sont pas tolérables, et les résultats produits après les délais ne sont plus utiles. Nous proposons de nouvelles techniques et une analyse d'ordonnancement pour un ensemble de tâches temps réel représentées par DAG (graphe acyclique dirigé) sur des ressources NoC. De plus, nous abordons les transferts mémoire-à-puce en étendant le modèle DAG au modèle de tâche AER (Acquisition, Execution, Restitution).The increasing complexity of modern Cyber-Physical Systems (CPS) requires the usage of powerful embedded computing systems to satisfy their timing constraints. Typically, the system monitors a physical environment using sensors, process and react to the environment state. This sense-compute-react pattern must be completed within a predefined time window imposed by the speed of environment evolution. Such constraints are known as real-time constraints. The correctness of the system design relies on its ability to provide guarantees on timing constraints. A violation of timing constraints might be a serious source of its damage.Classical multi-core platforms design has limited settings in terms of the number of computing resources, which make them deprecated for current and near-future CPS applications. This limitation is straightforward for the interconnection paradigms based on a single shared bus, with exclusive access. Networks-on-Chip (also called on-Chip Networks) have been proposed to solve the bus bottleneck problem and to provide a more scalable architecture. NoCs can host hundreds of cores on a single chip connected through a network. Data is moved from one core to another, or to the main memory, by means of network interfaces represented largely by simple routers. However, those enhanced features increase the complexity, since we have to deal with routing, switching protocols, congestion handling, and classical network problem even when accessing data in the main memory.Supporting real-time constraints on NoC based architectures, require particular attention. The system must be predictable, i.e. it must be able to estimate tight and safe bounds for inter-task communications as well as compute task response time.The goal of the thesis is to provide support for hard real-time applications on Networks-on-chip. We consider real-time constraints and define NoC parameters and configurations. We proposed task and communication mapping such that all deadlines are respected. In this thesis, we deal with hard-real systems: deadline misses are not tolerable, and the results produced after the deadline are no longer useful. We propose novel techniques and schedulability analysis for a set of real-time tasks represents by DAG (directed acyclic graph) on NoC resources. Further, we tackle include memory-to-chip transfers by extending DAG model to AER(Acquisition, Execute, Write-back) task model

    Placement des tâches temps-réel dur sur des architectures multi-coeurs en réseau sur puce

    No full text
    The increasing complexity of modern Cyber-Physical Systems (CPS) requires the usage of powerful embedded computing systems to satisfy their timing constraints. Typically, the system monitors a physical environment using sensors, process and react to the environment state. This sense-compute-react pattern must be completed within a predefined time window imposed by the speed of environment evolution. Such constraints are known as real-time constraints. The correctness of the system design relies on its ability to provide guarantees on timing constraints. A violation of timing constraints might be a serious source of its damage.Classical multi-core platforms design has limited settings in terms of the number of computing resources, which make them deprecated for current and near-future CPS applications. This limitation is straightforward for the interconnection paradigms based on a single shared bus, with exclusive access. Networks-on-Chip (also called on-Chip Networks) have been proposed to solve the bus bottleneck problem and to provide a more scalable architecture. NoCs can host hundreds of cores on a single chip connected through a network. Data is moved from one core to another, or to the main memory, by means of network interfaces represented largely by simple routers. However, those enhanced features increase the complexity, since we have to deal with routing, switching protocols, congestion handling, and classical network problem even when accessing data in the main memory.Supporting real-time constraints on NoC based architectures, require particular attention. The system must be predictable, i.e. it must be able to estimate tight and safe bounds for inter-task communications as well as compute task response time.The goal of the thesis is to provide support for hard real-time applications on Networks-on-chip. We consider real-time constraints and define NoC parameters and configurations. We proposed task and communication mapping such that all deadlines are respected. In this thesis, we deal with hard-real systems: deadline misses are not tolerable, and the results produced after the deadline are no longer useful. We propose novel techniques and schedulability analysis for a set of real-time tasks represents by DAG (directed acyclic graph) on NoC resources. Further, we tackle include memory-to-chip transfers by extending DAG model to AER(Acquisition, Execute, Write-back) task model.La complexité croissante des systèmes cyber-physiques (CPS) modernes nécessite l'utilisation de systèmes informatiques embarqués très performants pour satisfaire leurs contraintes temporelles. En règle générale, le système surveille un environnement physique à l'aide de capteurs, traite et réagit à l'état de l'environnement. Ce schéma acquisition-calcul-réaction doit être réalisé dans une fenêtre temporelle prédéfinie imposée par la vitesse d'évolution de l'environnement. De telles contraintes sont appelées contraintes en temps réel. La justesse de la conception du système repose sur sa capacité à fournir des garanties sur les contraintes temporelles. Une violation des contraintes de temps peut être une source sérieuse de ses dommages.La conception classique des plates-formes multicoeurs a des paramètres limités en termes de nombre de ressources informatiques, ce qui les rend obsolètes pour les applications CPS actuelles et futures. Cette limitation est simple pour les architectures d'interconnexion basés sur un seul bus partagé, à accès exclusif. Les réseaux sur puce NoC (Network-on-Chip en anglais) ont été proposés pour résoudre le problème des goulots d'étranglement du bus et pour fournir une architecture plus évolutive. Les NoC peuvent héberger des centaines de coeurs sur une seule puce connectée via un réseau. Les données sont déplacées d'un coeur à un autre, ou vers la mémoire principale, au moyen d'interfaces réseau représentées en grande partie par de simples routeurs. Cependant, ces fonctionnalités améliorées augmentent la complexité, car nous devons faire face au routage, aux protocoles de commutation, à la gestion de la congestion et au problème de réseau classique même lors de l'accès aux données dans la mémoire principale.La prise en charge des contraintes temps réel sur les architectures basées sur NoC nécessite une attention particulière. Le système doit être prévisible, c'est-à-dire qu'il doit être capable d'estimer des limites strictes et sûres pour les communications inter-tâches ainsi que de calculer le temps de réponse des tâches.L'objectif de la thèse est de fournir un support pour les applications temps réel dur sur les réseaux sur puce. Nous considérons les contraintes en temps réel et définissons les paramètres et configurations NoC. Nous avons proposé un placement des tâches et des communications afin que tous les délais soient respectés. Dans cette thèse, nous traitons des systèmes temps réel dur : les dépassements de délais ne sont pas tolérables, et les résultats produits après les délais ne sont plus utiles. Nous proposons de nouvelles techniques et une analyse d'ordonnancement pour un ensemble de tâches temps réel représentées par DAG (graphe acyclique dirigé) sur des ressources NoC. De plus, nous abordons les transferts mémoire-à-puce en étendant le modèle DAG au modèle de tâche AER (Acquisition, Execution, Restitution)

    Placement des tâches temps-réel dur sur des multi-coeurs en réseau-sur-puce (NoC)

    No full text
    In this dissertation, we tackle the problem of execution complex multi-thread real-time applications on modern Network-on-Chip architectures. Network-on-Chip (NoC) is a promising technology that fits the increasing performance demands of Cyber-Physical Systems (CPS). The introduction of NoCs is justified by the fact that classical multi-core single-bus architectures fail to address the performance requirements and the predictability needs of modern CPS applications, especially as the number of cores increases. Even if the use of cache memories mitigates the bottleneck effect of single bus architectures, caches introduce unpredictable delays in accessing data, which in turn make it difficult to estimate the execution time of tasks. Most CPS applications are time-sensitive: tasks are assigned deadlines that must never exceed, otherwise a critical failure may occur. Such systems are denoted by hard real-time. Consequently, the communications that occur in the network, denoted by on-chip communications, must be predictable and as fast as possible to prevent deadline-missing. Since the task position on the NoC determines its communication cost, the allocation of the application tasks on the chip cores is a crucial problem. In this thesis, we address specifically the problem of allocating a set of real-time applications, each composed of several parallel tasks, whose structure is described by a Directed Acyclic Graph (DAG), onto a Network-on-Chip processor. First, we study the problem of bounding the communication cost depending on the different message scheduling policies at the router level. Then we address the problem of task scheduling and of verifying the schedulability of a certain allocation. Then, we propose an approach to reduce the complexity of the task allocation problem and its analysis cost. Moreover, we propose a task mapping strategy through a meta-heuristic which performs an effective design-space exploration for DAG (Directed Acyclic Graph) tasks. Lastly, in addition to on-chip communications, we studied the mapping problem when the off-chip communications are integrated into the model.Dans cette thèse, nous abordons le problème de l'exécution d'applications temps réel multi-thread complexes sur des architectures modernes de type Network-on-Chip. Les réseaux sur puce (NoC) sont une technologie prometteuse qui répond aux exigences croissantes de performance des systèmes cyber-physiques (CPS). L'introduction des NoC se justifie par le fait que les architectures classiques multi-cœurs à bus unique ne répondent pas aux exigences de performance et aux besoins de prévisibilité des applications CPS modernes, en particulier lorsque le nombre de cœurs augmente. Même si l'utilisation de mémoires cache atténue l'effet de goulot d'étranglement des architectures à bus unique, les caches introduisent des retards imprévisibles dans l'accès aux données, ce qui rend difficile l'estimation du temps d'exécution des tâches. La plupart des applications CPS sont sensibles au temps : les tâches se voient attribuer des délais qu'elles ne doivent jamais dépasser, sous peine de subir une défaillance critique. De tels systèmes sont qualifiés de temps réel dur. Par conséquent, les communications qui se produisent dans le réseau, désignées par les communications sur puce, doivent être prévisibles et aussi rapides que possible pour éviter le dépassement des délais. Puisque la position de la tâche sur le NoC détermine son coût de communication, l'allocation des tâches d'application sur les cœurs de la puce est un problème crucial. Dans cette thèse, nous abordons spécifiquement le problème de l'allocation d'un ensemble d'applications temps réel, chacune composée de plusieurs tâches parallèles, dont la structure est décrite par un graphe acyclique dirigé (DAG), sur un processeur Network-on-Chip. Dans un premier temps, nous étudions le problème de la limitation du coût de communication en fonction des différentes politiques d'ordonnancement des messages au niveau du routeur. Ensuite, nous abordons le problème de l'ordonnancement des tâches et de la vérification de l'ordonnançabilité d'une certaine allocation. Ensuite, nous proposons une approche pour réduire la complexité du problème d'allocation des tâches et son coût d'analyse. De plus, nous proposons une stratégie de placement des tâches par le biais d'une méta-heuristique qui effectue une exploration efficace de l'espace des solutions pour les tâches DAG (Directed Acyclic Graph). Enfin, en plus des communications intra-puce, nous avons étudié le problème de placement lorsque les communications hors puce sont intégrées au modèle

    Placement des tâches temps-réel dur sur des multi-coeurs en réseau-sur-puce (NoC)

    No full text
    In this dissertation, we tackle the problem of execution complex multi-thread real-time applications on modern Network-on-Chip architectures. Network-on-Chip (NoC) is a promising technology that fits the increasing performance demands of Cyber-Physical Systems (CPS). The introduction of NoCs is justified by the fact that classical multi-core single-bus architectures fail to address the performance requirements and the predictability needs of modern CPS applications, especially as the number of cores increases. Even if the use of cache memories mitigates the bottleneck effect of single bus architectures, caches introduce unpredictable delays in accessing data, which in turn make it difficult to estimate the execution time of tasks. Most CPS applications are time-sensitive: tasks are assigned deadlines that must never exceed, otherwise a critical failure may occur. Such systems are denoted by hard real-time. Consequently, the communications that occur in the network, denoted by on-chip communications, must be predictable and as fast as possible to prevent deadline-missing. Since the task position on the NoC determines its communication cost, the allocation of the application tasks on the chip cores is a crucial problem. In this thesis, we address specifically the problem of allocating a set of real-time applications, each composed of several parallel tasks, whose structure is described by a Directed Acyclic Graph (DAG), onto a Network-on-Chip processor. First, we study the problem of bounding the communication cost depending on the different message scheduling policies at the router level. Then we address the problem of task scheduling and of verifying the schedulability of a certain allocation. Then, we propose an approach to reduce the complexity of the task allocation problem and its analysis cost. Moreover, we propose a task mapping strategy through a meta-heuristic which performs an effective design-space exploration for DAG (Directed Acyclic Graph) tasks. Lastly, in addition to on-chip communications, we studied the mapping problem when the off-chip communications are integrated into the model.Dans cette thèse, nous abordons le problème de l'exécution d'applications temps réel multi-thread complexes sur des architectures modernes de type Network-on-Chip. Les réseaux sur puce (NoC) sont une technologie prometteuse qui répond aux exigences croissantes de performance des systèmes cyber-physiques (CPS). L'introduction des NoC se justifie par le fait que les architectures classiques multi-cœurs à bus unique ne répondent pas aux exigences de performance et aux besoins de prévisibilité des applications CPS modernes, en particulier lorsque le nombre de cœurs augmente. Même si l'utilisation de mémoires cache atténue l'effet de goulot d'étranglement des architectures à bus unique, les caches introduisent des retards imprévisibles dans l'accès aux données, ce qui rend difficile l'estimation du temps d'exécution des tâches. La plupart des applications CPS sont sensibles au temps : les tâches se voient attribuer des délais qu'elles ne doivent jamais dépasser, sous peine de subir une défaillance critique. De tels systèmes sont qualifiés de temps réel dur. Par conséquent, les communications qui se produisent dans le réseau, désignées par les communications sur puce, doivent être prévisibles et aussi rapides que possible pour éviter le dépassement des délais. Puisque la position de la tâche sur le NoC détermine son coût de communication, l'allocation des tâches d'application sur les cœurs de la puce est un problème crucial. Dans cette thèse, nous abordons spécifiquement le problème de l'allocation d'un ensemble d'applications temps réel, chacune composée de plusieurs tâches parallèles, dont la structure est décrite par un graphe acyclique dirigé (DAG), sur un processeur Network-on-Chip. Dans un premier temps, nous étudions le problème de la limitation du coût de communication en fonction des différentes politiques d'ordonnancement des messages au niveau du routeur. Ensuite, nous abordons le problème de l'ordonnancement des tâches et de la vérification de l'ordonnançabilité d'une certaine allocation. Ensuite, nous proposons une approche pour réduire la complexité du problème d'allocation des tâches et son coût d'analyse. De plus, nous proposons une stratégie de placement des tâches par le biais d'une méta-heuristique qui effectue une exploration efficace de l'espace des solutions pour les tâches DAG (Directed Acyclic Graph). Enfin, en plus des communications intra-puce, nous avons étudié le problème de placement lorsque les communications hors puce sont intégrées au modèle

    Placement des tâches temps-réel dur sur des architectures multi-coeurs en réseau sur puce

    No full text
    The increasing complexity of modern Cyber-Physical Systems (CPS) requires the usage of powerful embedded computing systems to satisfy their timing constraints. Typically, the system monitors a physical environment using sensors, process and react to the environment state. This sense-compute-react pattern must be completed within a predefined time window imposed by the speed of environment evolution. Such constraints are known as real-time constraints. The correctness of the system design relies on its ability to provide guarantees on timing constraints. A violation of timing constraints might be a serious source of its damage.Classical multi-core platforms design has limited settings in terms of the number of computing resources, which make them deprecated for current and near-future CPS applications. This limitation is straightforward for the interconnection paradigms based on a single shared bus, with exclusive access. Networks-on-Chip (also called on-Chip Networks) have been proposed to solve the bus bottleneck problem and to provide a more scalable architecture. NoCs can host hundreds of cores on a single chip connected through a network. Data is moved from one core to another, or to the main memory, by means of network interfaces represented largely by simple routers. However, those enhanced features increase the complexity, since we have to deal with routing, switching protocols, congestion handling, and classical network problem even when accessing data in the main memory.Supporting real-time constraints on NoC based architectures, require particular attention. The system must be predictable, i.e. it must be able to estimate tight and safe bounds for inter-task communications as well as compute task response time.The goal of the thesis is to provide support for hard real-time applications on Networks-on-chip. We consider real-time constraints and define NoC parameters and configurations. We proposed task and communication mapping such that all deadlines are respected. In this thesis, we deal with hard-real systems: deadline misses are not tolerable, and the results produced after the deadline are no longer useful. We propose novel techniques and schedulability analysis for a set of real-time tasks represents by DAG (directed acyclic graph) on NoC resources. Further, we tackle include memory-to-chip transfers by extending DAG model to AER(Acquisition, Execute, Write-back) task model.La complexité croissante des systèmes cyber-physiques (CPS) modernes nécessite l'utilisation de systèmes informatiques embarqués très performants pour satisfaire leurs contraintes temporelles. En règle générale, le système surveille un environnement physique à l'aide de capteurs, traite et réagit à l'état de l'environnement. Ce schéma acquisition-calcul-réaction doit être réalisé dans une fenêtre temporelle prédéfinie imposée par la vitesse d'évolution de l'environnement. De telles contraintes sont appelées contraintes en temps réel. La justesse de la conception du système repose sur sa capacité à fournir des garanties sur les contraintes temporelles. Une violation des contraintes de temps peut être une source sérieuse de ses dommages.La conception classique des plates-formes multicoeurs a des paramètres limités en termes de nombre de ressources informatiques, ce qui les rend obsolètes pour les applications CPS actuelles et futures. Cette limitation est simple pour les architectures d'interconnexion basés sur un seul bus partagé, à accès exclusif. Les réseaux sur puce NoC (Network-on-Chip en anglais) ont été proposés pour résoudre le problème des goulots d'étranglement du bus et pour fournir une architecture plus évolutive. Les NoC peuvent héberger des centaines de coeurs sur une seule puce connectée via un réseau. Les données sont déplacées d'un coeur à un autre, ou vers la mémoire principale, au moyen d'interfaces réseau représentées en grande partie par de simples routeurs. Cependant, ces fonctionnalités améliorées augmentent la complexité, car nous devons faire face au routage, aux protocoles de commutation, à la gestion de la congestion et au problème de réseau classique même lors de l'accès aux données dans la mémoire principale.La prise en charge des contraintes temps réel sur les architectures basées sur NoC nécessite une attention particulière. Le système doit être prévisible, c'est-à-dire qu'il doit être capable d'estimer des limites strictes et sûres pour les communications inter-tâches ainsi que de calculer le temps de réponse des tâches.L'objectif de la thèse est de fournir un support pour les applications temps réel dur sur les réseaux sur puce. Nous considérons les contraintes en temps réel et définissons les paramètres et configurations NoC. Nous avons proposé un placement des tâches et des communications afin que tous les délais soient respectés. Dans cette thèse, nous traitons des systèmes temps réel dur : les dépassements de délais ne sont pas tolérables, et les résultats produits après les délais ne sont plus utiles. Nous proposons de nouvelles techniques et une analyse d'ordonnancement pour un ensemble de tâches temps réel représentées par DAG (graphe acyclique dirigé) sur des ressources NoC. De plus, nous abordons les transferts mémoire-à-puce en étendant le modèle DAG au modèle de tâche AER (Acquisition, Execution, Restitution)

    An analysis and Simulation Tool of Real-Time Communications in On-Chip Networks: A Comparative Study

    No full text
    International audienceThis paper presents Real-Time Network-on-chip-based architecture Analysis and Simulation tool (ReTiNAS), with a special focus on real-time communications. It allows fast and precise exploration of real-time design choices onto NoC architectures. ReTiNAS is an event-based simulator written in Python. It implements different real-time communication protocols and tracks the communications within the NoC at cycle level. Its modularity allows activating and deactivating different NoC components and easily extending the implemented protocols for more customized simulations and analysis. Further, we use ReTiNAS to perform a comparative study of analysis and simulation for different communication protocols using a wide set of synthetic experiments

    Memory-processor co-scheduling for real-time tasks on network-on-chip manycore architectures

    No full text
    International audienceThe Network-on-Chip (NoC) provides a viable solution to bus-contention problems in classical Multi/Many core architectures. However, NoC complex design requires particular attention to support the execution of real-time workloads. In fact, it is necessary to take into account task-to-core allocation and inter-task communication, so that all timing constraints are respected. The problem is more complex when considering task-to-main-memory communication, as the main memory is off-chip and usually connected to the network edges, within the 2D-Mesh topology, which generates a particular additional pattern of traffic. In this paper, we tackle these problems by considering the allocation of tasks and inter-task communications, and memory-to-task communications (modeled using Directed Acyclic Graphs DAGs) at the same time, rather than separating them, as it has been addressed in the literature of real-time systems. This problem is highly combinatorial, therefore our approach transforms it at each step, to a simpler problem until reaching the classical single-core scheduling problem. The goal is to find a trade-off between the problem combinatorial explosion and the loss of generality when simplifying the problem. We study the effectiveness of the proposed approaches using a large set of synthetic experiments

    Task and Communication Allocation for Real-time Tasks to Networks-on-Chip Multiprocessors

    No full text
    International audienceIn this paper, we address the problem of analyzing the behavior of a set of real-time tasks on a Network-on-chip-based (NoC) architecture. Our approach is to transform the allocation of tasks and communications within a NoC into a classical real-time allocation problem. It provides an extension of classical bin-packing heuristics to allocate a set of real-time applications modeled using a directed acyclic graphs (DAGs) to a set of processors interconnected through a NoC. The paper describes the schedulability analysis, including allocation and communication. It provides also a comparative study of different allocation and communication algorithms and presents accordingly a set of promising research insights
    corecore